﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Core;
using Crosland.Automotriz.Data.Dao.Linq;
using System.Data.SqlClient;
using Crosland.Automotriz.Logic.ControlExeption;
namespace Crosland.Automotriz.Logic.Linq
{
    public class clsT_Man_Sistema_ArticuloLogic
    {

        clsT_Man_Sistema_ArticuloDAO clst_man_sistema_articuloDao = new clsT_Man_Sistema_ArticuloDAO();


        public IEnumerable<Object> listar_sistema_articulo(int id_sistema, int id_modelo)
        {
            try
            {
                return clst_man_sistema_articuloDao.listar(id_sistema, id_modelo);
            }
            catch (SqlException sqlEx)
            {
                throw new RunException("ERROR EN EL PROCEDIMIENTO listar_sistema_articulo", sqlEx);
            }
            catch (Exception ex)
            {
                throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex);
            }  
        }

        public IEnumerable<Object> listar_sistema_articulo(int intIdSistema, int intIdModelo, int intNroPag)
        {
            return new clsT_Man_Sistema_ArticuloDAO().listar(intIdSistema, intIdModelo, intNroPag);
        }

        public bool Insertar(T_MAN_SISTEMA_ARTICULO Obj)
        {

            return clst_man_sistema_articuloDao.Insertar(Obj);
        }

        public bool Modificar(T_MAN_SISTEMA_ARTICULO Obj)
        {

            return clst_man_sistema_articuloDao.Modificar(Obj);
        }

        public bool Eliminar(T_MAN_SISTEMA_ARTICULO obj)
        {

            return clst_man_sistema_articuloDao.Eliminar(obj);
        }

        public List<T_MAN_SISTEMA_ARTICULO> consulta_sistema_articulo(int ID_MODELO, int ID_SISTEMA, string COD_MATERIAL, int NRO_PAGINA, string NRO_ITEM_MANUAL)
        {
            
            try
            {
                if (clst_man_sistema_articuloDao.consulta_sistema_articulo(ID_MODELO, ID_SISTEMA, COD_MATERIAL, NRO_PAGINA, NRO_ITEM_MANUAL) == null)
                {
                    throw new DataException("No hay datos en la tabla T_MAN_SISTEMA_ARTICULO ");
                }
                return clst_man_sistema_articuloDao.consulta_sistema_articulo(ID_MODELO, ID_SISTEMA, COD_MATERIAL, NRO_PAGINA, NRO_ITEM_MANUAL);
            }
            catch (Exception e)
            {
                throw new RunException("ERROR EN LA LISTA  T_MAN_SISTEMA_ARTICULO", e);
            }

        }


        public bool insertarT_man_sistema_Articulo(int ID_MODELO, int ID_SISTEMA, string COD_MATERIAL, int NRO_PAGINA, string NRO_ITEM_MANUAL, int CANTIDAD, string REMARK_ING, string REMARK_ESP, int NRO_ITEM_SIST,String DES_MATERIAL_INGLES)
        {

            return clst_man_sistema_articuloDao.insertarT_man_sistema_Articulo(ID_MODELO, ID_SISTEMA, COD_MATERIAL, NRO_PAGINA, NRO_ITEM_MANUAL, CANTIDAD, REMARK_ING, REMARK_ESP, NRO_ITEM_SIST,DES_MATERIAL_INGLES);


        }


        public bool AnularT_man_sistema_articulo(int id_modelo, int id_sistema, string cod_material)
        {

            return clst_man_sistema_articuloDao.AnularT_man_sistema_articulo(id_modelo, id_sistema, cod_material);
        }


        public bool ActualizaEstadoArticulo(int id_modelo, int id_sistema, string cod_material)
        {

            return clst_man_sistema_articuloDao.ActualizaEstadoArticulo(id_modelo, id_sistema, cod_material);

        }

        public String RetornarCodigo(int intIdSistema, int intIdModelo, String strCodigoMaterial)
        {
            return clst_man_sistema_articuloDao.RetornarCodigo(intIdSistema,intIdModelo,strCodigoMaterial);        
        }


        public String VerificaCodigo(String Codigo)
        {
            return clst_man_sistema_articuloDao.VerificaCodigo(Codigo);
        }
    }
}
